@DATABASE "MMBCommodity V1.2" @NODE MAIN "MMBCommodity V1.2" MMBCommodity V1.2 Documentation Sep., 1994 Roland Janus Mittlere Strasse 5 4056 Basel SWITZERLAND 2:301/212.4@FidoNet - The first 3 chapters were taken from the GadToolsBox-docs. More or less. Thanxs Jan. (I hope you don't mind). :-) @{" 1.) Disclaimer " link Disclaimer} @{" 2.) Copyright/Distribution " link Copyright} @{" 3.) Electronic Distribution " link Distribution} @{" 4.) Purpose " link Purpose} @{" 5.) Requierments " link Requierments} @{" 6.) Fast start " link Faststart} @{" 7.) Features " link Features} @{" 8.) Installation/Removing " link Installation} @{" 9.) Template " link Template} @{" 10.) Insert special events " link Specialevents} @{" 11.) Bugs " link Bugs} @{" 12.) Problems " link Problems} @{" 13.) History " link History} @ENDNODE @NODE Disclaimer 1) Disclaimer The author cannot be held liable for the suitability or accuracy of this manual and/or the program(s) it describes. Any damage directly or indirectly caused by the use or misuse of this manual and/or the program it describes is the sole responsibility of the user her/him self. @ENDNODE @NODE Copyright 2) Copyright/Distribution MMBCommodity, (c) Copyright 1994, Roland Janus. All rights reserved. This program is GIFTWARE, so if you use this program you should send me something. Anything. I'd like to get something from your home-town. This program may be freely distributed as long as all documentation and executable(s) remain unchanged and are included with the distribution. Also no profit is to be made by selling this program. You may not charge more than Fred Fish does for a single library disk. Commercial distribution is NOT allowed without written permission from the author. @ENDNODE @NODE Distribution 3) Electronic Distribution It is allowed for non-commercial BBSs to distribute this archive. NOTE: All files listed below MUST be distributed together. None of the files listed below may be distributed on it's own! They may of course be archived with LHA or any other archiver. MMBCommodity/MMBCommodity MMBCommodity/MMBCommodity.info MMBCommodity/MMBCommodity.guide MMBCommodity/MMBCommodity.guide.info @ENDNODE @NODE Purpose 4) Purpose: I always thought there was no program which satisfied my needs to use my 3-button-mouse. This is not only a 'if middlemousebutton pressed then do shift'-commodity. This is the ultimative 3-buttons-mouse-commodity. ;-) @ENDNODE @NODE Requierments 5) Requierments: - >= OS2.x (V36 should work). Are there still people with 1.2/1.3? (Yes, but let's ignore them.) Pitty and again a reason to update! ;-) Go with the future, dude. - 3-button-mouse... @ENDNODE @NODE Faststart 6) Fast start: For a fast try, simply type: MMBCommodity. It detaches itself from the shell so there is no need for a "Runback", "Run >NIL:" or something similar. Default-setting for the MIDBUTTON is: SHIFT (LSHIFT!RSHIFT) IMPORTANT: You have to read the docs, because some of the settings may not be correct or not set at all. I know this is boring, but believe me, it's worth it. CONWINDOWPATTERN has no default if started from a shell. @ENDNODE @NODE Features 7) Features: - Commodity. - Almost freely setable definitions (wise ones!) for the MIDBUTTON (MMB). - 3 more qualifiers/codes in conjunction with the RIGHTBUTTON. - Releasing the MIDBUTTON inserts the marked text from the shell in the shell-window. (Mark the text with the mouse and press MIDBUTTON once (see CONWINDOWPATTERN)). - Double-clicking with the MIDBUTTON is the same as clicking the MIDBUTTON once. (MagicFileRequester). - Leftymouse. - Font-sensitive memory / clock-window. - Mouselock for x or y-mousemovements. - Windowtofront. The Window is always in front of all other windows on the WB. - Shuffler. Again ;-). - WindowHotKey -> Memory / clock-window. - Tested with Enforcer and Mungwall. - Just using about 0.2% CPU-time (XOper) on my A2000, GVP, OS3.1. @ENDNODE @NODE Installation 8) Installation/Removing: Move the icon to SYS:WBStartup and edit the tooltypes. That's all. But you have to edit the tooltypes! To quit MMBCommodity start it again or use Exchange. @ENDNODE @NODE Template 9) Template: "C=CX_PRIORITY/K/N,X=XPOS/K/N,Y=YPOS/K/N,R=REFRESHRATE/K/N,T=TASKPRI/K/N, W=WINDOW/K,S=SHUFFLER/K,L=MOUSELOCK/K,F=WINDOWTOFRONT/K, U=USEFRONTPUBSCREEN/K,Y=LEFTYMOUSE/K,D=DOUBLEMMB/K,M=MMBKEY/K,1=FIRSTKEY/K, 2=SECONDKEY/K,3=THIRDKEY/K,P=CONWINDOWPATTERN/K,H=WINDOWHOTKEY/K" CX_PRIORITY: ------------ Most of the commodities which I know of use the priority 0, but because MMBCommodity is designed to create events especially to emulate events for other commodities, it should always be set higher, to make sure "I'm the first". Default: 10 XPOS: ----- Defines the x-position of the small window with the available memory and the actual time. Default: in the middle of the screen. YPOS: ----- Defines the y-position of the... blah blah. See above. Default: 0, at the top of the screen. REFRESHRATE: ------------ Defines the time between the update time of the free memory and the time. Default: 2 seconds (values less than 1 will be ignored!) TASKPRI: -------- Defines the priority of the task (process). Default: 5 (values less than 0 will be ignored!) WINDOW: ------- Memory / time-window? YES or NO. Default: YES SHUFFLER: --------- Screenshuffler? YES or NO. This shuffler will activate the first window on the screen. But, if the screen is the workbench it ignores all WB-windows and the MMBCommodity-window. So, if there is no other window on the screen, it would activate the shell-window. I prefer this, so I did this shuffler for my WB. ;-) There is a special qualifier, which one cannot be changed in this version: LEFT_SHIFT. If you use the screenshuffler with LEFT_SHIFT down, the original shuffler-routine is used and no window will be activated by MMBCommodity. Default: NO MOUSELOCK: ---------- Mouselock? YES or NO. If you press CONTROL and move the mouse, all y-angle-movements will be disabled. The same works with the x-angle if you press LEFT_SHIFT. Default: NO WINDOWTOFRONT: -------------- Memory / clock-window always in front of other WB-windows? YES or NO. Default: YES USEFRONTPUBSCREEN: ------------------ Let's the window jump to the pubscreen in front. Only pubscreens, because doing this with other screens could cause a crash when they get closed and the window stayed open. (Uses the value in REFRESHTIME for updatechecking) Default: NO WINDOWHOTKEY: ------------- Open / close the window. Usefull for changing the Prefs/#?-files. (Screenmode etc.) The window will open always on the default publicscreen, so if you use an utility that changes the publicscreen according to the frontscreen, you could re-open the window on this screen with pressing the WINDOWHOTKEY twice. (Mayby this will be made automatically in a future version). If you use the hotkey while you use another pubscreen as the Workbench, the window will open on the other screen. Like for USEFRONTPUBSCREEN: Only pubscreens are used. If there is no other pubscreen available, the Workbench will be used again. Default: CONTROL LALT j LEFTYMOUSE: ----------- Exchange the functions of the left and the right mousebuttons. Default: NO DOUBLEMMB: ---------- Emulate MIDBUTTON? YES or NO. If you doubleclick the MIDBUTTON with the same clickspeed as you set in 'Prefs/Input', MMBCommodity creates a single (!) MIDBUTTON-event. I did this because the MagicFileRequester uses this to go to the parent directory and I would really miss this feature. Default: YES CONWINDOWPATTERN: ----------------- This defines the name for the shell-windows you are using. My shell-windows have always the name "AmigaShell", but I've heard there are really weird titles used. But this should be no problem. You can use all possible patterns that are supported by AmigaDos. If you have done this, mark text in your shell-window with your mouse and press the MIDBUTTON. After you released (!) the button AND the pointer is still in the shell-window, the marked text will be inserted into the window. I saw this feature on HPs with HP-Unix. I just had to add this. If you have "ConClip" in your startup-sequence the text is automatically copied in the clipboard, so it is possible to insert the marked text with SNAP or POWERSNAP into other applications, too. This feature simulates, of course, the "RIGHT_COMMAND c" and "RIGHT_COMMAND v" keys. @ENDNODE @{"MMBKEY, FIRST-,SECOND-,THIRD-KEY" link Specialevents} @NODE Specialevents 10) Insert special events with MMB and RMB: Now the tougher things: First example: -------------- There are a lot of programs (inputhandler / commodities) which need a qualifier to activate some functions. So, everytime you want to use this in conjuction with the mouse, you have to press a few keys at the same time on the keyboard. In my case this is 'Snap V1.64' from Mikael Karlsson. MMBCommodity is designed to create events for other programs. The best way for you to understand this feature, is an example: My settings for Snap are: TEXTQUAL (textsnapping): LALT GFXQUAL (gfxsnapping): RALT INSERTKEY (write text): LCOMMAND i This means you could have these settings for MMBCommodity: MMBKEY=SHIFT FIRSTKEY=LALT SECONDKEY=RALT THIRDKEY=LCOMMAND i What happens: - If you press the MIDBUTTON this will emulate the shift key for use on menus and icon's. - If you hold the MIDBUTTON and press the RIGHTBUTTON once, this will emulate LEFT_ALT. So you can mark the text with the LEFTBUTTON and then release the MIDBUTTON. - If you press the RIGHTBUTTON the second time, (the time between the clicks is meaningless!), it will emulate RIGHT_ALT. And, of course, at the third time this will be 'LEFT_COMMAND i' and the text is inserted in the active input. This means you don't have to touch the keyboard and you could, with a few mousemoves and clicks, copy text and gfx. (Of course these are my settings for Snap). Second Example: --------------- Asuming you're using a tool which can move windows without using the dragbar, like DragIt. If you did set the qualifier for DragIt to RIGHT_SHIFT, you could set "MMBKEY" for MMBCommodity to "LEFT_SHIFT" and "FIRSTKEY" to RIGHT_SHIFT. Now, you could use the MidButton as the MultiChoice-key further and with two mouseclicks (hold the MIDBUTTON and click RIGHT_BUTTON once) move and resize windows. BUT: There are a few restrictions! FIRST: Only RAWKEY codes with this qualifiers are allowed and usefull! - LSHIFT - RSHIFT - SHIFT (LSHIFT!RSHIFT) - CAPSLOCK - CAPS (SHIFT!CAPSLOCK) - CONTROL - LALT - RALT - ALT (LALT!RALT) - LCOMMAND - RCOMMAND Instead of L and R, LEFT_ and RIGHT_ are also allowed. Others will be ignored WITHOUT NOTICE. SECOND: Because it's really senseless to create a RAWKEY event with a code (like SHIFT x) in FIRSTKEY and then a qualifier in SECONDKEY, all keys after a RAWKEY definition will be ignored and the original RIGHTBUTTON will be untouched. WHY THIS? Because, every time you define a CODE-event-definition, you will create a event which creates almost a visible (!) event itself. Like a letter in a Shell-window or editor etc. So, it's necessary to use RAWKEYS with a CODE at the end of all definitions, to prevent a conflict with other events. I can remove this if someone insists. ;-) @ENDNODE @NODE Bugs 11) Bugs: None known. Now. ;-) @ENDNODE @NODE Problems 12) Problems: - LeftyMouse could cause a few problems: Programs which do special things with the mousebuttons like DirectoryOpus and DPaint react strange. But as I noticed, this seems to be a problem with any "leftymouse"-program. However, I'm righthanded. ;-) If anybody discovers (or doesn't) this problems with other programs using a leftymouse-feature, I will be happy to hear (or read) about it. - If you have problems controling other programs like KCommodity, this could be because KCommodity uses an inputhandler with a priority higher (standard 55) then the commodity-network (53) itself. Set the inputhandler-priority for the naughty program lower then 53 and it should work. @ENDNODE @NODE History 13) History: =========================== 1. Sep. 94 ==================================== V1.2 - Now the memory and time will only be refreshed when they changed. (CPU-Usage down from 2% to 0.2%) - Added an application-example - Changed the default (icon) for CONWINDOWPATTERN to (#?Shell#?|#?Dos#?) =========================== 13. May 94 ==================================== V1.1 - bug removed which caused ignoring the "WINDOW"-tooltype. - added USEFRONTPUBSCREEN which allows automatic jumping to the pubscreen in front =========================== 12. Feb. 94 ==================================== V1.0 first publiced version @ENDNODE $VER: MMBCommodity.guide 1.2 (1.9.94)